.TH plcboot 1 "November 2013" "open-plc-utils-0.0.3" "Qualcomm Atheros Open Powerline Toolkit"

.SH NAME
plcboot - Qualcomm Atheros Panther/Lynx Powerline Device Bootstrapper

.SH SYNOPSIS
.BR plcboot
.RI [ options ] 
.RB - N 
.IR file 
.RB - P 
.IR file
.RI [ device ]
.RI [ device ]
[...]

.SH DESCRIPTION
Download and start runtime firmware on a local powerline device when it is in bootloader mode.
A powerline device enters bootloader mode if it has not flash memory or cannot load firmware from flash memory for some reason.
You can use this progrm to start the device and then, optionally, permanently write a softloader, parameters and firmware into flash memory.

.PP
Qualcomm Atheros introduced new boot methods with the \fBLightning\fR chipset and new file formats and flash methods with the \fBPanther\fR chipset.
This program supports the newer formats and methods.
It does not support the older formats and methods.
See programs \fBint6kboot\fR or \fBampboot\fR to initialize earlier chipsets.

.PP
This program is part of the Qualcomm Atheros Powerline Toolkit.
See the \fBplc\fR man page for an overview and installation instructions.

.SH OPTIONS

.TP
.RB - e
Redirects stderr messages to stdout.
Normally, status and error messages are printed on stderr while primary program output is printed on stdout.
This option prints all output on stdout in cases where this is desired.

.TP
.RB - F [ F ]
Flash or Force Flash NVRAM using either VS_MOD_NVM or VS_MODULE_OPERATION.
Adding a second \fBF\fR here or another -\fBF\fR anywhere on the command line will \fBforce-flash\fR a blank or corrupted NVRAM.
Firmware loaded from NVRAM may treat force-flash as an error, depending of the firmware version.

.TP
-\fB\i \fIinterface\fR
Select the host Ethernet interface.
All requests are sent via this host interface and only reponses received via this host interface are recognized.
The default interface is \fBeth1\fR because most people use \fBeth0\fR as their principle network connection; however, if environment string "PLC" is defined then it takes precedence over the default interface.
This option then takes precedence over either default.

.TP 
-\fBN \fIfilename\fR
The file containing the firmware chain used to boot and flash the device.
This option and argument are required when booting or flashing a device but may appear anywhere on the command line.
Invalid image files will be rejected.
No assumptions are made about this file based on filename and no filename conventions are enforced.

.TP
-\fBP \fIfilename\fR
The file containing the firmware chain used to boot and flash the device.
This option and argument are required when booting or flashing a device but may appear anywhere on the command line.
Invalid image files will be rejected.
No assumptions are made about this file based on filename and no filename conventions are enforced.

.TP
.RB - q
Suppresses status messages on stderr.

.TP 
-\fBS \fIfilename\fR
The file containing the softloader chain used to flash the device.
On prior versions of plcboot, the presence of this option indicated that flash memory should be programmed but that is no longer the case.
You must now specify bot this option and option \fB-F\fR in order to program flash memory.
This option and argument are required when flashing a device but may appear anywhere on the command line.
Invalid image files will be rejected.
No assumptions are made about this file based on filename and no filename conventions are enforced.

.TP
-\fBt \fImilliseconds\fR
Read timeout in milliseconds.
Values range from 0 through UINT_MAX.
This is the maximum time allowed for a response.
The default is shown in brackets on the program menu.

.TP
.RB - v
Prints additional information on stdout.
In particular, this option dumps outgoing Ethernet packets on stdout.

.TP
.RB - ? ,-- help
Print program help summary on stdout.
This option takes precedence over other options on the command line.

.TP
.RB - ! ,-- version
Print program version information on stdout.
This option takes precedence over other options on the command line.
Use this option when sending screen dumps to Atheros Technical Support so that they know exactly which version of the Linux Toolkit you are using.

.SH ARGUMENTS

.TP
.IR device
The Ethernet hardware address of some powerline device.
More than one address may be specified on the command line.
If more than one address is specified then operations are performed on each device in turn.
The default address is \fBlocal\fR.
as explained in the \fBDEVICES\fR section.

.SH DEVICES
Powerline device addresses are 12 hexadecimal digits in upper, lower or mixed case.
Individual octets may be separated by colons, for clarity, but colons are not required.
For example, "00b052000001", "00:b0:52:00:00:01" and "00b052:000001" are valid and equivalent.

.PP
A \fBlocal\fR device is any Atheros Powerline Device connected directly to a host Ethernet interface.
A \fBremote\fR device is any Atheros Powerline Device at the far end of a powerline connection.
A \fBforeign\fR device is any powerline device not manufactured by Atheros.

.PP
Common device addresses have symbolic names that can be used in place of the actual address value.
The following symbolic addresses are recognized by this program and most other toolkit programs.

.TP
.BR all
Equivalent to "broadcast", described next.

.TP
.BR broadcast
A synonym for the Ethernet broadcast address, \fBFF:FF:FF:FF:FF:FF\fR.
All devices, whether local, remote or foreign will respond to this address.

.TP
.BR local
A synonym for the Qualcomm Atheros Local Management Address (LMA), \fB00:B0:52:00:00:01\fR.
All local Atheros devices will respond to this address but remote and foreign devices will not.

.SH REFERENCES
See the Qualcomm Atheros HomePlug AV Firmware Technical Reference Manual for technical information.
See the Qualcomm Atheros Powerline Toolkit Online Documetation for practical information and examples.

.SH EXAMPLES
This example boots a powerline device by downloading runtime parameters and firmware then starting firmware execution.
The actual boot method used will depend on the file formats and powerline device type detected by the program.
The output shown here is typical for panther and lynx chipsets.
Option \fB-P\fR and \fB-N\fR are required but their order is not important.
Tne MAC address may be omitted beccause it will default to 00:B0:52:00:00:01 which is also the default bootloader device address.
On completion, runtime firmware is executing in SDRAM but flash memory has not been programmed.
If This operation is common for flash-less devices.
If we reset the device at this point then it will return to bootloader mode.

.PP
   # plcboot -P AR7420.pib -N AR7400.nvm 
   eth1 00:B0:52:00:00:01 BootLoader is running
   eth1 00:B0:52:00:00:01 Write AR7420.nvm (1) (0x00000040:6212)
   eth1 00:B0:52:00:00:01 Start AR7420.nvm (1) (0x000000C0)
   eth1 00:B0:52:00:00:01 Write AR7420.pib (1) (0x00200000:10904)
   eth1 00:B0:52:00:00:01 Write AR7420.nvm (5) (0x002B610C:281252)
   eth1 00:B0:52:00:00:01 Start AR7420.nvm (5) (0x002B64FC)
   eth1 00:B0:52:BA:BE:88 MAC-QCA7420ES-0.9.0.278-0-20110914-INTERNAL is running

.PP
The next example boots a device, as before, then flashes the same parameters and firmware into non-volatile memory attached to the device.
Observe that a softloader is required and will be written to flash memory before runtime parameters and firmware.
The softloader need only be written once when first programming a blank flash memory.
Option \fB-FF\fR is optional but permitted for backward compatibility with programs \fBampboot\fR and \fBint6kboot\fR.

.PP
   # plcboot -P AR7420.pib -N AR7400.nvm -S AR7420-softloader.nvm -FF
   eth1 00:B0:52:00:00:01 Write AR7420.nvm (1) (00000040:6212)
   eth1 00:B0:52:00:00:01 Start AR7420.nvm (1) (000000C0)
   eth1 00:B0:52:00:00:01 Write AR7420.pib (1) (00200000:11692)
   eth1 00:B0:52:00:00:01 Write AR7420.nvm (5) (002B6A4C:282444)
   eth1 00:B0:52:00:00:01 Start AR7420.nvm (5) (002B6E3C)
   eth1 00:B0:52:00:00:06 MAC-QCA7420ES-1.0.0.280-00-20110923-ALPHA is running
   eth1 00:B0:52:00:00:06 Start Session
   eth1 00:B0:52:00:00:06 Flash AR7420-softloader.nvm
   eth1 00:B0:52:00:00:06 Close Session
   eth1 00:B0:52:00:00:06 Start Session
   eth1 00:B0:52:00:00:06 Flash AR7420.pib
   eth1 00:B0:52:00:00:06 Flash AR7420.nvm
   eth1 00:B0:52:00:00:06 Close Session

.SH DISCLAIMER
Qualcomm Atheros firmware file structure and content is proprietary to Qualcomm Atheros, Ocala FL USA.
Consequently, public information is not available.
Qualcomm Atheros reserves the right to change firmware file structure or content or change the name or behavior of any program that inspects or changes firmware files, in future software releases without any obligation to notify or compensate users of such programs.
Qualcomm Atheros HomePlug AV Vendor Specific Management Message structure and content is proprietary to Qualcomm Atheros, Ocala FL USA.
Consequently, public information may not be available.
Aualcomm Atheros reserves the right to modify message structure and content in future firmware releases without any obligation to notify or compensate users of this program.

.SH SEE ALSO
.BR ampboot ( 1 ), 
.BR amptool ( 1 ), 
.BR chknvm ( 1 ), 
.BR chkpib ( 1 ), 
.BR int6kboot ( 1 ),
.BR modpib ( 1 ),
.BR plctool ( 1 )

.SH CREDITS
 Charles Maier

